#pragma once

#include "SGD Wrappers/SGD_Math.h"

class CEntity;

enum LightType { LFLASHLIGHT, LSPOTLIGHT, LFLIKKER, LWINDOW };

class CBaseLight
{
private:
	CEntity* pOwner;
	tVector2D tPosition;
	float fIntensity;
	float fRadius;
	LightType eLightType;
	
public:
	CEntity* GetOwner() const { return pOwner; }
	tVector2D GetPosition() const { return tPosition; }
	float GetIntensity() const { return fIntensity; }
	float GetRadius() const { return fRadius; }
	int GetLightType() const { return eLightType; }
	
	void SetOwner(CEntity* val) { pOwner = val; }
	void SetPosition(tVector2D val) { tPosition = val; }
	void SetIntensity(float val) { fIntensity = val; }
	void SetRadius(float val) { fRadius = val; }
	void SetLightType(int val) { eLightType = (LightType)val; }

	virtual void Update(float fElapsedTime);
};

